package com.ihrm.system.service;

import com.ihrm.common.exception.CommonException;
import com.ihrm.domain.system.Permission;

import java.util.List;
import java.util.Map;

/**
 * @author 小伟
 * @version V1.0
 * @Package com.ihrm.system.service
 * @date 2020/12/14 13:37
 * @Copyright © 2020-2021 郑州恒星科技有限责任公司
 * 权限业务层接口
 */
public interface PermissionService {
    /**
     * 添加权限
     * 根据type属性判断类型 1.菜单 2.按钮 3.api 封装全部信息到map中
     * @param permissionMap 参数列表
     */
    void savePermission(Map<String, Object> permissionMap) throws Exception;

    /**
     * 修改权限信息
     * 根据type属性判断类型 1.菜单 2.按钮 3.api 封装全部信息到map中
     * @param permissionMap 参数列表
     */
    void updatePermission(Map<String, Object> permissionMap) throws Exception;

    /**
     * 查询权限列表
     * @param map 查询条件封装对象
     * @return 权限集合
     */
    List<Permission> findAll(Map<String, Object> map);

    /**
     * 根据id查询权限信息
     * @param id 权限id
     * @return 封装好的返回结果
     */
    Map<String, Object> findById(String id) throws CommonException;

    /**
     * 根据id删除权限
     * @param id 权限id
     */
    void deleteById(String id) throws CommonException;
}
